home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / tex / td187src.lzh / GETFILE.D < prev    next >
Text File  |  1991-12-14  |  3KB  |  99 lines

  1. DEFINITION MODULE GetFile;
  2.  
  3. PROCEDURE GetFileName(VAR FullFileName  : ARRAY OF CHAR;
  4.                       VAR Filename      : ARRAY OF CHAR;
  5.                       REF LookExtension : ARRAY OF CHAR;
  6.                       REF StdExtension  : ARRAY OF CHAR;
  7.                       VAR Startpath     : ARRAY OF CHAR;
  8.                       REF TOS14Msg      : ARRAY OF CHAR;
  9.                       VAR Exists        : BOOLEAN;
  10.                           LeaveFilename : BOOLEAN;
  11.                           HasToExist    : BOOLEAN;
  12.                           ExtNeeded     : BOOLEAN;
  13.                           WildcardOK    : BOOLEAN ) : BOOLEAN;
  14. (*
  15.    Liest via FileSelectorBox einen Dateinamen ein.
  16.    Fügt falls gewünscht ( ExtNeeded = TRUE ) eine Standard-Dateikennung
  17.    an ( StdExtension ), sofern eine solche nicht bereits vorhanden ist.
  18.    Ist der angegebene Startpfad ( Startpath ) leer, so wird zunächst der
  19.    Standard-Pfad benutzt.
  20.    Zusätzlich kann bei den TOS-Versionen ab 1.4 noch eine kleine Meldung
  21.    am Kopf der FileSelectBox ausgegeben werden.
  22.    Falls die gesuchte Datei existieren soll ( HasToExist = TRUE ), wird
  23.    solange gefragt, bis eine gültige, existierende Datei angegeben wird.
  24.    Zudem wird noch zurückgegeben, ob bereits eine Datei gleichen
  25.    Namens existiert ( Exists ).
  26.    Ist WildcardOK = TRUE so wird bei leerer Eingabe diese in "*.*"
  27.    gewandelt. Sind schlußendlich im Namen Wildcards ("*", "?") vorhanden,
  28.    so wird bei HasToExist überprüft, ob es überhaupt eine passende Datei
  29.    gibt.
  30.    Der voreingestellte Filename wird nur dann nicht gelöscht, wenn
  31.    LeaveFilename = TRUE ist.
  32. *)
  33.  
  34. PROCEDURE FileExists ( REF Filename : ARRAY OF CHAR ) : BOOLEAN;
  35. (*
  36.   Existiert die angegebene Datei ?
  37. *)
  38.  
  39. PROCEDURE FileSize ( REF Filename : ARRAY OF CHAR ) : LONGCARD;
  40. (*
  41.    Liefert Dateigröße in Bytes zurück, bei Fehler Null.
  42. *)
  43.  
  44. PROCEDURE StdPath ( VAR stdpath : ARRAY OF CHAR );
  45. (*
  46.   Liefert den aktuellen Pfad zurück (mit Laufwerk)
  47. *)
  48.  
  49. PROCEDURE AddExtension( VAR FileName  : ARRAY OF CHAR;
  50.                         REF Extension : ARRAY OF CHAR );
  51. (*
  52.    Fügt an Dateiname Extension an.
  53. *)
  54.  
  55. PROCEDURE ReplaceFilename(VAR Target : ARRAY OF CHAR;
  56.                           REF RepStr : ARRAY OF CHAR);
  57. (*
  58.   Ersetzt in Dateinamen den eigentlichen Namen.
  59.   Pfad bleibt dabei unangetastet.
  60. *)
  61.  
  62. PROCEDURE ReplaceExtension(VAR Target : ARRAY OF CHAR;
  63.                            REF RepStr : ARRAY OF CHAR);
  64. (*
  65.   Ersetzt in Dateinamen die Dateiextension (ohne '.' anzugeben).
  66.   Pfad bleibt dabei unangetastet.
  67. *)
  68.  
  69. PROCEDURE ReplacePath(VAR Target : ARRAY OF CHAR;
  70.                       REF RepStr : ARRAY OF CHAR);
  71. (*
  72.   Ersetzt in Dateinamen den Pfad.
  73.   Reiner Name bleibt dabei unangetastet.
  74. *)
  75.  
  76. PROCEDURE RemovePath(VAR Target : ARRAY OF CHAR);
  77. (*
  78.    Entfernt eventuelle Pfadangabe und läßt den reinen Name übrig.
  79. *)
  80.  
  81. PROCEDURE Check(VAR file : ARRAY OF CHAR) : BOOLEAN;
  82. (*
  83.    Falls Datei nicht existiert -> TRUE.
  84.    Falls vorhanden, dann Warnmeldung mit Abfrage. 
  85.    Dann Möglichkeit der Änderung des Namen.
  86.    Bei Abbruch FALSE.
  87. *)
  88.  
  89. TYPE FileProc = PROCEDURE (REF ARRAY OF CHAR);
  90.  
  91. PROCEDURE WildcardFile( REF Wildcard : ARRAY OF CHAR;
  92.                             Action   : FileProc);
  93. (*
  94.   Der Prozedur Action werden nacheinander alle Dateinamen (mit Pfad,
  95.   sofern in Wildcard angegeben) übergeben, die auf Wildcard passen.
  96. *)
  97. END (* of definition module *) GetFile .
  98.  
  99.